var _ = require("lodash");
// _.mapValues(object, [iteratee=_.identity])
// 和mapKey效果几乎一直，但是，它是原来的键不变，使用迭代器修改对应的值
// 他会返回一个新的对象
let obj = { a: 1, b: 2 };
function test(value, key) {
  return key + value;
}
let a = _.mapValues(obj, test);
console.log(a);

var users = {
  fred: { user: "fred", age: 40 },
  pebbles: { user: "pebbles", age: 1 },
};

let b = _.mapValues(users, function (o) {
  return o.age;
});
console.log(b);

// 可以利用改变值的这个特性，对元素的值进行修改
const res = {
  a: 1,
  b: "2",
  c: 3.14,
  d: { e: 5 },
};

const c = _.mapValues(res, (value) => {
  if (typeof value === "number") {
    return value.toString();
  }
  return value;
});
console.log(c);
